#ifndef HAM_DLGOPTIONS_H
#define HAM_DLGOPTIONS_H

#include "ui_Core_DlgOptions.h"

namespace ham
{
	class Module;
	class ModuleBase;
	class Application;
	class WdgOptions;


	// options dialog
	class DlgOptions
		: public QDialog, public Ui::Core_DlgOptions
	{
		Q_OBJECT

	public:
		DlgOptions(const QVector<Module*>&);
		~DlgOptions();

	public slots:
		void moduleChanged(int);
		void accept();
		void apply();
		void reject();

	private:
		void initOptionsWdgs(const QVector<Module*>&);

		QVector<QPair<const Module*, WdgOptions*>> m_widgets;
		QWidget* m_currentWidget;
	};
}

#endif // HAM_OPTIONSDLG_H
